package com.example.jianzhioffer;

import java.util.HashMap;

/**
 * Created by Quincy on 2018/9/23.
 */
public class DuplicateArrayNum {
    public boolean duplicate(int numbers[],int length,int [] duplication) {
        boolean flag = false;
        if (numbers == null || length == 0)
            return flag;
        HashMap<Integer, Integer> map = new HashMap<>();
        for (int num : numbers){
            if (map.containsKey(num)){
                flag = true;
                duplication[0] = num;
                break;
            }
            map.put(num, 0);
        }
        return flag;
    }


    //1. 利用字符串拼接每个元素。
    //2. 判断字符串中同一个元素的子串，是否出现在了两个位置
    //3. StringBuffer与String的不同之处在于，String每次拼接都会返回一个新的对象，而StringBuffer不会。
    public boolean duplicate2(int numbers[],int length,int [] duplication) {
        StringBuffer sb = new StringBuffer();
        for(int i = 0; i < length; i++){
            sb.append(numbers[i] + "");
        }
        for(int j = 0; j < length; j++){
            if(sb.indexOf(numbers[j]+"") != sb.lastIndexOf(numbers[j]+"")){
                duplication[0] = numbers[j];
                return true;
            }
        }
        return false;
    }

}
